Skip to main content
Version: 4.3.x {testing}

BCFQ

Battery current compensation and q-d-axis feedthrough mechanism.

info
  • Next variables are located in the folder /driver/dac.
  • This page is related to the VECTOR algorithm only.

DAC overview

Playing with the D-axis current might be tricky. Certain situations may result in a spinning motor, even with the "stop" command issued. This subsystem aims to minimize such hazardous states of motor control that may arise due to e.g. wrongly identified shaft sensor or motor non-linearities. At the zero motor command, this subsystem tries to regulate Q axis current in a feedback loop, such that, the battery current is steered to zero. This means that not back-driven motor can not generate torque and, eventually freewheels and stops. Moreover, in conection with the flux weakening subsystem, this loop guarantees that the motor "generates" just the enough power that is required for its own field weakening. Also, in current motor modes, it is possible to feed the Q-axis current reference by a portion of the actual D-axis current reference (to compensate the residual torque emerged from non-linearities, such as cross-inductances, etc).

Parameters

tcc [.iref]

The maximum current for the compensation <0:disabled>

tdg [-]

Battery current compensator DC gain. The higher the value, the faster the Q-axis current reference is regulated in order to achieve zero DC-side current.

tqf [-]

Torque compensator Q-axis feedthrough ratio. The higher the value, the more of D-axis current refernce is mapped to the Q-axis current reference.

States (only esc5)

bcref [A]

The calculated q-axis battery current compensator reference. Output from the BCFQ block, mapped to Q-axis current reference in non-zero motor current commands.